﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Cuba.Consulta.CRN
{
    /// <summary>
    /// Summary description for ConsultaCRN
    /// </summary>
    public class ConsultaCRN
    {
        public ConsultaCRN()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public static Consulta BuscarServicio(string codigo, string documento)
        {
            if (string.IsNullOrEmpty(codigo))
            {
                throw new ArgumentException("El codigo del servicio no puede ser nulo o vacio.");
            }
            if (string.IsNullOrEmpty(documento))
            {
                throw new ArgumentException("El numero del documento no puede ser nulo o vacio.");
            }

            ConsultaDSTableAdapters.BusquedaServicioTableAdapter adapter = new ConsultaDSTableAdapters.BusquedaServicioTableAdapter();

            ConsultaDS.BusquedaServicioDataTable tabla = adapter.BuscarServicio(codigo, documento);

            if (tabla == null || tabla.Rows.Count == 0)
            {
                return null;
            }
            ConsultaDS.BusquedaServicioRow row = tabla[0];
            Consulta objConsulta = new Consulta(row.servicioId, row.tipoServicio);
            return objConsulta;
        }

        public static List<Actividad> GetActividadesByServicioId(int servicioId)
        {
            if (servicioId <= 0)
            {
                throw new ArgumentException("servicioId no puede ser menor o igual que cero");
            }

            ConsultaDSTableAdapters.ActividadesTableAdapter adapter = new ConsultaDSTableAdapters.ActividadesTableAdapter();

            ConsultaDS.ActividadesDataTable tabla = adapter.GetActividadesByServicioId(servicioId);

            if (tabla == null)
            {
                throw new Exception("El SQL se ejecuto correctamente, pero los valores fueron nulos");
            }
            List<Actividad> lista = new List<Actividad>();

            foreach (ConsultaDS.ActividadesRow row in tabla)
            {
                Actividad objActividad = new Actividad(row.rowNumber, row.fechaActividad, row.descripcion);
                lista.Add(objActividad);
            }

            return lista;
        }
    }
}